package org.zzz.hepotaiya.loader;

import java.util.List;
import java.util.Map;

import org.zzz.hepotaiya.beans.BatchInfo;
import org.zzz.hepotaiya.config.BatchConfig;
import org.zzz.hepotaiya.container.IContainer;
import org.zzz.hepotaiya.exception.BatchLoadException;

/**
 * バッチ読み込みインターフェース 
 */
public interface BatchLoader {
	
	/**
	 * バッチを読み込み実行情報を生成します 
	 * @param batchRootPackage
	 * @param batchConfiglist
	 * @return
	 * @throws BatchLoadException
	 */
	Map<Integer, List<BatchInfo>> load(String batchRootPackage, List<BatchConfig> batchConfiglist) throws BatchLoadException;

	/**
	 * コンテナを設定します
	 * @param container
	 */
	void setContainer(IContainer container);
}
